package okno_startowe.widok;

import enzymy_wydajnosc_reakcji.widok.OkienkoEnzymy;
import okno_startowe.kontroler.PresenterOknoStartowe;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * Stowrzone przez
 * User: Davvid
 * Date: 30.10.13
 * Time: 22:12
 */
    public class Okienko extends JFrame implements ActionListener {
        private JMenuItem nimbusIT, metalIT, windowsIT, wydajnoscReakcjiIT;


        public Okienko() {
            ustawWyglad();
            ustawKomponenty();
            ustawMenu();
        }

        private void ustawWyglad() {
            setSize(500, 400);
            setTitle("Program do obliczeń chemicznych");
            setLocationRelativeTo(null);

            try {
                UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
            } catch (Exception e1) {
            }
            SwingUtilities.updateComponentTreeUI(this);
        }

        private void ustawMenu() {
            JMenuBar menuBar = new JMenuBar();
            setJMenuBar(menuBar);
            JMenu menuProgram = new JMenu("Program");
            wydajnoscReakcjiIT = new JMenuItem("Obliczanie wydajności reakcji eznymatycznej");
            wydajnoscReakcjiIT.addActionListener(this);
            JMenu menuOpcje = new JMenu("Opcje");

            JMenu menuWyglad = new JMenu("Wygląd");
            nimbusIT = new JMenuItem("Nimbus");
            nimbusIT.addActionListener(this);
            windowsIT = new JMenuItem("Windows");
            windowsIT.addActionListener(this);
            metalIT = new JMenuItem("Metal");
            metalIT.addActionListener(this);

            JMenu menuPomoc = new JMenu("Pomoc");

            menuBar.add(menuProgram);
            menuBar.add(menuOpcje);
            menuBar.add(menuWyglad);
            menuWyglad.add(nimbusIT);
            menuWyglad.add(windowsIT);
            menuWyglad.add(metalIT);
            menuProgram.add(wydajnoscReakcjiIT);
            menuBar.add(Box.createHorizontalGlue());
            menuBar.add(menuPomoc);
        }

        private void ustawKomponenty() {
            PresenterOknoStartowe presenterOknoStartowe = new PresenterOknoStartowe();

            Panel panel = new Panel();
            add(panel);

            presenterOknoStartowe.setObliczEnzymyBtn(panel.getObliczEnzymyBtn());
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            Object z = e.getSource();
            if (z == nimbusIT) {
                try {
                    UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
                } catch (Exception e1) {
                }
                SwingUtilities.updateComponentTreeUI(this);
            } else if (z == windowsIT) {
                try {
                    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                } catch (Exception e1) {
                }
                SwingUtilities.updateComponentTreeUI(this);
            } else if (z == metalIT) {
                try {
                    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
                } catch (Exception e1) {
                }
                SwingUtilities.updateComponentTreeUI(this);
            } else if(z == wydajnoscReakcjiIT){
                OkienkoEnzymy okienko = new OkienkoEnzymy();
                okienko.setVisible(true);
            }
        }
    }

